package com.pet.server.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pet.server.domain.entity.Serve;

public interface IServeService {
  /**
   * 获取所有服务项目数据 ,分页显示
   *
   * @param pageNo 当前页码
   * @param pageSize 每页显示数据条数
   * @return 所有服务数据列表
   */
  Page<Serve> getAllServeList(int pageNo, int pageSize, int shopId);

  /**
   * 通过服务品类查询 分页显示
   *
   * @param pageNo 当前页码
   * @param pageSize 每页展示数据
   * @param serveType 服务品类
   * @return 所有符合查找条件的服务
   */
  Page<Serve> getServeListByServeType(int pageNo, int pageSize, int shopId, String serveType);

  /**
   * 通过服务排期查询服务 分页展示
   *
   * @param pageNo 当前页码
   * @param pageSize 每页显示数据
   * @param shopId 门店id
   * @param startTime 开始时间
   * @param endTime 结束时间
   * @return 查询结果
   */
  Page<Serve> getServiceListByTime(
      int pageNo, int pageSize, int shopId, String startTime, String endTime);

  /**
   * 通过id获取指定服务对象数据
   *
   * @param id 服务id
   * @return 服务对象数据
   */
  Serve getServeSelective(int id);

  /**
   * 添加新的服务项目
   *
   * @param serve 新的服务项目
   * @return 添加结果 T/F
   */
  boolean addNewServe(Serve serve);

  /**
   * 删除指定id的服务对象数据
   *
   * @param id 服务id
   * @return 删除结果 T/F
   */
  boolean delServeSelectiveById(int id);

  /**
   * 跟新服务数据
   *
   * @param serve 被更改的服务对象数据
   * @return 更改结果 T/F
   */
  boolean updateServeSelective(Serve serve);
}
